package org.barad.architecture.analyzer.model.impl;

import org.barad.architecture.analyzer.archpad.component.CloneableEntity;

/**
 * This class is the base class for a specification.
 * User defined specifications must extend this class.
 *  
 * @author svetoslavganov@gmail.com (Svetoslav R. Ganov)
 *
 */
public class Specification extends CloneableEntity {
	private String name;
	
	/**
	 * Creates a new instance.
	 */
	public Specification() {
		this.name = "New Specification";
	}

	/**
	 * Creates a new instance.
	 * 
	 * @param name The name of the specification.
	 */
	public Specification(String name) {
		this.name = name;
	}
	
	@Override 
	public String toString() {
		return name;
	}
	
	@Override
	public Object clone() {
		return new Specification(name);
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}
